namespace HslCommunicationEx.OpcUa.Server
{
	public class OpcUaNode
	{
		public const string SplitFlag = "/";

		public string NodeName { get; set; }

		public string FullName
		{
			get
			{
				if (string.IsNullOrWhiteSpace(this.ParentPath) && string.IsNullOrWhiteSpace(this.NodeName))
				{
					return "";
				}
				string text = this.ParentPath + "/" + this.NodeName;
				return (text != null && text.StartsWith("/")) ? text : ("/" + text);
			}
		}

		public string Description { get; set; }

		public string ParentPath { get; set; }

		public int NodeId { get; set; }

		public int ParentNodeId { get; set; } = -1;


		public string DisplayName { get; set; }

		public OpcUaNodeTypeEnum NodeType { get; set; } = OpcUaNodeTypeEnum.Var;


		public string TypeStr { get; set; }

		public string AccessLevels { get; set; } = "CurrentReadOrWrite";


		public string UserAccessLevels { get; set; } = "CurrentReadOrWrite";

	}
}
